Défini à l'origine comme un langage, Java a évolué au cours du temps pour devenir une technologie, qui intègre une bibliothèque complète pour exécuter ou développer une multitude d'applications. La particularité principale de Java est que les applications écrites dans ce langage sont très facilement portables sur plusieurs systèmes d’exploitation tels que UNIX, Windows, Mac OS ou GNU/Linux, avec peu ou pas de modifications. C’est la plate-forme qui garantit la portabilité des applications développées en Java.
La technologie Java regroupe aujourd'hui :
Le tout forme un ensemble cohérent quoique modulaire, et selon vos besoins, vous installerez certains composants et pas d'autres. Dans la plupart des cas et si vous ne souhaitez pas développer en Java, l'installation de la plate-forme d'exécution des programmes JRE et le greffon pour les navigateurs internet suffisent.
Java ne pouvait être considéré comme un logiciel libre selon les critères de la Fondation du logiciel libre car les bibliothèques de base de Java ainsi que son compilateur étaient non-libres. OpenJDK est l'implémentation libre de la société Oracle du standard Java sous Licence Publique Générale. Son utilisation est donc à recommander pour respecter la philosophie du logiciel libre.
Pour installer la plate-forme d'exécution JRE d'OpenJDK, il suffit d'installer les paquets default-jre et son greffon pour les navigateurs internet : icedtea-plugin.
Redémarrez votre navigateur internet, et voilà, ça marche.
Pour l'installation de la version propriétaire Java Oracle, voir le chapitre installation de la version propriétaire.
La version 8 d'OpenJDK n'est pas disponible dans les dépôts officiels d'Ubuntu pour Precise 12.04 et Trusty 14.04. Elle est disponible depuis un dépôt PPA. Pour cela:
Ou bien dans un terminal, saisir les commandes suivantes:
sudo add-apt-repository ppa:openjdk-r/ppa sudo apt-get update sudo apt-get install openjdk-8-jre
À noter: Le greffon pour les navigateurs internet icedtea-plugin correspondant sera installé.
En vous rappelant que les dépôts PPA sont des dépôts non-officiels et installer un paquet hors des dépôts officiels peut présenter un risque d'instabilité pour votre système.
Pour une utilisation basique, il n'y a pas de manipulation particulière à faire. Une fois installée, la plate-forme d’exécution Java est lancée au démarrage d'Ubuntu. Le Greffon est automatiquement exécuté lors du lancement du navigateur internet.
Certaines applications Java sont distribuées sous forme de <NomDuFichier>.jar exécutable. Un fichier .jar n'est rien d'autre qu'une archive (comme un .zip) contenant l'ensemble des fichiers nécessaires à l'exécution du programme.
META-INF/MANIFEST.MF une ligne contient :
Main-Class: <lenomdupackage>.<LeNomDeLaClassePrincipale>
(en adaptant le nom de la classe principale).
Il suffit d'associer les fichiers .jar à la plate-forme d'exécution Java. Pour cela, faire un clic droit sur un fichier .jar et choisir dans le menu déroulant "ouvrir avec" → "autre application…". Il ne reste plus qu'à sélectionner la plate-forme d'exécution Java :
Pour connaître la version de la plate-forme d'exécution Java, saisissez dans un terminal la commande suivante :
java -version
Pour connaître la version de la plate-forme de développement (si vous avez installé un JDK) :
javac -version
Saisissez dans un terminal la commande suivante :
sudo update-alternatives --config java
Ceci va lister la liste des versions disponibles, et vous n'aurez plus qu'à choisir le numéro de celle que vous souhaitez utiliser par défaut.
Et pour Java Web Start, saisir :
sudo update-alternatives --config javaws
Vous pouvez sélectionner la version de Java désirée (ici OpenJDK) en saisissant dans un terminal la commande suivante :
sudo update-java-alternatives -s java-1.7.0-openjdk
Pour obtenir la liste des versions disponibles, Saisir dans un terminal la commande suivante :
update-java-alternatives -l
Pour diverses raisons, vous pouvez être amené à devoir installer la version propriétaire Java d'Oracle . Par contre, le site officiel ne fournit que les fichiers binaires. Pour installer Java, il vous suffit alors de suivre la procédure décrite ci-dessous.
L'installation se fera depuis un terminal avec les droits d'administration.
jdk-8u66-linux-x64.tar.gz (Paquet pour les architectures Ubuntu 32 bits ) téléchargé dans le dossier Téléchargements de votre dossier personnel. (Source (en)). A vous d'adapter si besoin.
jdk-8u66-linux-x64.tar.gzsudo apt-get install java-package
Ouvrir un terminal et positionnez-vous dans le dossier où se trouve le fichier .tar.gz de java (Exemple jdk-8u66-linux-x64.tar.gz) lancer la commande suivante:
make-jpkg jdk-8u66-linux-x64.tar.gz
Un fichier .deb va apparaître et il vous suffira juste de l'installer.
Toujours en lignes de commande dans un terminal :
mkdir -v ~/.mozilla/plugins
sudo apt-get remove icedtea-6-plugin && sudo apt-get remove icedtea-7-plugin
rm -v ~/.mozilla/plugins/libnpjp2.so
Si il n’existe pas, une notification vous en informera.
ln -s /opt/java/32/jre1.7.0_55/lib/i386/libnpjp2.so ~/.mozilla/plugins/
Si vous n'êtes pas familiarisé avec les lignes de commande, un PPA permet d'installer la version propriétaire Java du site officiel d'Oracle d'une manière simple et automatisée. Il installera la totalité des composants, plate-forme de développement incluse.
Ou dans un terminal, saisir les commandes suivantes :
sudo add-apt-repository ppa:webupd8team/java sudo apt-get update sudo apt-get install oracle-java8-installer
Puis accepter la licence d'utilisation d'Oracle.
Pour pouvoir développer en Java, en plus de la plate-forme d’exécution Java disponible dans le paquet JRE, il est indispensable d'avoir la plate-forme de développement Java avec les outils supplémentaires, disponibles dans les paquets JDK (Java Developpement Kit).
Pour installer la plate-forme de développement JDK d'OpenJDK, il suffit d'installer le paquet selon la version souhaitée:
La version 8 d'OpenJDK est disponible pour Precise 12.04 et Trusty 14.04 depuis un dépôt PPA. Pour cela:
Ou bien dans un terminal, saisir les commandes suivantes:
sudo add-apt-repository ppa:openjdk-r/ppa sudo apt-get update sudo apt-get install openjdk-8-jdk
Pour diverses raisons, vous pouvez être amené à devoir installer la version propriétaire Java et/ou Javac d'Oracle . Par contre, ce dernier ne fournit que les fichiers binaires. Pour installer Java et/ou Javac, il vous suffit alors de suivre la procédure décrite ci-dessous.
L'installation se fera depuis un terminal avec les droits d'administration.
jdk-8u20-linux-x64.tar.gz (Paquet pour les architectures Ubuntu 64 bits ) téléchargé dans le dossier Téléchargements de votre dossier personnel. A vous d'adapter si besoin.
jdk-8u20-linux-x64.tar.gzsudo mkdir /opt/java
jdk-8u20-linux-x64.tar.gz que vous venez de télécharger cd Téléchargements && tar xvzf ~/Téléchargements/jdk-8u20-linux-x64.tar.gz
jdk-8u20-linux-x64.tar.gz dans le dossier système que vous avez créé à l'étape 1 sudo mv -v ~/Téléchargements/jdk1.8.0_20 /opt/java/
sudo update-alternatives --install "/usr/bin/javac" "javac" "/opt/java/jdk1.8.0_20/bin/javac" 1
sudo update-alternatives --set javac /opt/java/jdk1.8.0_20/bin/javac
Si vous n'avez pas encore installé Java, vous pouvez utiliser celui compris dans l'archive de JDK que vous venez d'installer.
sudo update-alternatives --install "/usr/bin/java" "java" "/opt/java/jdk1.8.0_20/jre/bin/java" 1
sudo update-alternatives --set java /opt/java/jdk1.8.0_20/jre/bin/java
Finalement, vous pouvez vérifier que tout est bien installé.
javac -version javac 1.8.0_20
java -version java version "1.8.0_20" Java(TM) SE Runtime Environment (build 1.8.0_20-b26) Java HotSpot(TM) 64-Bit Server VM (build 25.20-b23, mixed mode)
Les procédures d'installation ci-dessus (JRE, greffons, et JDK) concernent les versions 7 d'OpenJDK et de Java Oracle. Malgré la compatibilité ascendante de Java, certains préfèrent, en entreprise notamment, utiliser une ancienne version pour développer car c'est sur cette version que le programme est destiné à être exécuté. Les anciennes versions, 6 d'OpenJDK et Java Oracle restent donc disponibles. Vous pouvez très bien installer la version 6 des paquets. Dans ce cas, dans les procédures d'installation il suffit de remplacer le 7 du nom des paquets par un 6. La cohabitation des versions ne posent pas de problèmes particulier.
Solution testé sous Kubuntu 12.04 64 bits avec écran 42" d'une résolution de 1920x1080 utilisant « OpenJDK » (2013-07-28).
Pour corriger un problème de police de caractère trop petit dans l'écran d'accueil (écran du Login) et dans les applications écrite en langage Java, il faut modifier le fichier « /etc/X11/xorg.conf » pour qu'il reflète les mêmes valeurs que ce qui est configuré dans le panneau de configuration « Configuration → Apparence des applications → Polices → Forcer le PPP des polices : XX ».
Chez moi cela donne : « Configuration → Apparence des applications → Polices → Forcer le PPP des polices : 96 ». Ce "96" est à retenir pour la suite de la solution.
Donc, dans le fichier « /etc/X11/xorg.conf », dans « Section "Device" », ajouter à la fin les deux lignes suivantes en les adaptent à votre configuration :
Option "UseEdidDpi" "False"
Option "DPI" "XX x XX"
Chez moi, je passe de :
Section "Device"
Identifier "Device0"
Driver "nvidia"
VendorName "NVIDIA Corporation"
BoardName "GeForce GTX 560 Ti"
EndSection
Avec mon "96", je passe à :
Section "Device"
Identifier "Device0"
Driver "nvidia"
VendorName "NVIDIA Corporation"
BoardName "GeForce GTX 560 Ti"
Option "UseEdidDpi" "False"
Option "DPI" "96 x 96"
EndSection
Un redémarrage de l'ordinateur et le tour est joué !
Tout le mérite de cette solution revient au bon génie Frédéric Côté, qui à laborieusement et méthodiquement suivi la piste du problème pour finalement le résoudre. Je profite de l'occasion pour le remercier d'autant d'effort pour aider son prochain !
Symptôme : Il est impossible de faire un copier/coller de ou vers une zone de texte d'un applet java.
Cause : à partir du JRE 1.7.45 , la modification du fichier .java.policy ne suffit plus. En effet, à partir de cette version,ce fichier n'est plus pris en compte.
Avant : il suffisait de créer/modifier le fichier .java.policy situé à la racine de son répertoire personnel ou dans le dossier /home/mondossier/.java afin d'autoriser le copier/coller entre applet java et les applications standards (libreOffice, gedit …). Cette ligne à ajouter autorisait l'utilisation du presse-papier et donc du copier/coller : "permission java.awt.AWTPermission "accessClipboard" .
Maintenant : il faut en plus modifier le fichier deployment.properties qui se trouve dans le dossier /home/mondossier/.java/deployment en ajoutant cette ligne : "deployment.security.use.user.home.java.policy=true" afin que la machine virtuelle java utilise le fichier .java.policy .
Pour voter via internet aux élections (français de l’étranger par exemple) , le greffon icetea n'est pas accepté. Il faut alors installer la plate-forme d’exécution JRE d'Oracle (voir le chapitre installation de la version propriétaire) puis saisir dans un terminal la commande suivante :
sudo update-alternatives --config mozilla-javaplugin.so
et choisir le fichier d'Oracle (dans mon cas /usr/lib/jvm/java-7-oracle/jre/lib/amd64/libnpjp2.so)
/tmp) et cliquez sur OK.
Voir aussi : Aide officielle(fr) sur la détection du greffon par Google-Chrome et Mozilla